#!/bin/bash

# 设置海云需要使用的hadoop环境
init_hadoop()
{
  echo_start "$1 ... ..."

  confirm_operate "init hadoop"
  if [ $? -eq 0 ]; then
    local hdfs_hyren_rootdir="/hrds"

    # 创建海云使用的hdfs根目录
    echo_info "mkdir $hdfs_hyren_rootdir ... ..."
    su - hdfs -c "hdfs dfs -test -d $hdfs_hyren_rootdir && hdfs dfs -rm -r -skipTrash $hdfs_hyren_rootdir"
    su - hdfs -c "hdfs dfs -mkdir $hdfs_hyren_rootdir" || { die "Setup Abort! "; }
    echo_info "mkdir $hdfs_hyren_rootdir ... ... DONE"

    # 给海云根目录赋予用户权限
    echo_info "grant $hdfs_hyren_rootdir ... ..."
    su - hdfs -c "hdfs dfs -chown $HYREN_USER $hdfs_hyren_rootdir" || { die "Setup Abort! "; }
    echo_info "grant $hdfs_hyren_rootdir ... ... DONE"

    echo_info "mkdir /user/$HYREN_USER ... ..."
    su - hdfs -c "hdfs dfs -test -d /user/$HYREN_USER && hdfs dfs -rm -r -skipTrash /user/$HYREN_USER"
    su - hdfs -c "hdfs dfs -mkdir /user/$HYREN_USER" || { die "Setup Abort! "; }
    echo_info "mkdir /user/$HYREN_USER ... ... DONE"

    echo_info "grant /user/$HYREN_USER ... ..."
    su - hdfs -c "hdfs dfs -chown $HYREN_USER /user/$HYREN_USER" || { die "Setup Abort! "; }
    echo_info "grant /user/$HYREN_USER ... ... DONE"

    echo_info "set mod /user/$HYREN_USER ... ..."
    su - hdfs -c "hdfs dfs -chmod 755 /user/$HYREN_USER" || { die "Setup Abort! "; }
    echo_info "set mod /user/$HYREN_USER ... ... DONE"
    
    # 以上也是安装Spark-thrift服务前置条件

    # 创建hive数据库
    echo_info "create hive warehouse ... ..."
#    beeline -u jdbc:hive2://$HIVE_HOST:$HIVE_PORT  -n $HYREN_USER  -p  "" <<EOF
#    CREATE DATABASE $HIVE_DATABASE_NAME LOCATION '$hdfs_hyren_rootdir/hive/warehouse'
#EOF
    # 如果已经存在，就先删除掉
    su - hdfs -c "hive -e \"DROP DATABASE IF EXISTS $HIVE_DATABASE_NAME CASCADE\"" || { die "DROP DATABASE fail, Setup Abort! "; }
    su - hdfs -c "hive -e \"CREATE DATABASE $HIVE_DATABASE_NAME\"" || { die "CREATE DATABASE fail, Setup Abort! "; }

    # 再次检查是否创建成功
    su - hdfs -c "hive -e \"use $HIVE_DATABASE_NAME\"" || { die "Check hive database fail, Setup Abort! "; }
    echo_info "create hive warehouse ... ... DONE."

    # 创建hbase数据库
    echo_warn "hbase的初始化操作要补充进来，比如：create_namespace  'hyshf'"

    echo_passed "$1 done."
  else
    echo_passed "$1 SKIP"
  fi
}

